import 'dart:convert';
import 'package:dio/dio.dart';
import 'dart:async';
import 'dart:io';
import '../config/servcie_url.dart';
import 'test_data.dart';

/// 获取首页主体内容
/// dataType传入的值不为1时数据来源于接口, 当然  接口是没有用的
/// dataType为1时数据来源是写死的测试数据
Future getHomePageContext(int dataType) async {
  print('开始获取[首页信息]数据.....#本地写死#');
  if(dataType == 1){
    return homeData;

  } else {
    // 获取接口数据
    try {
      print('开始获取首页数据..........');
      Response response;
      Dio dio = new Dio();
      // 请求类型
      dio.options.contentType = ContentType.parse("application/x-www-form-urlencoded") as String;
      var formData = {'lon': '115.02932', 'lat': '35.76189'};
      response = await dio.post(servicePath['homePageContent'], data: formData);
      if (response.statusCode == 200) {
        return response.data;
      } else {
        throw Exception('后端接口出现异常.');
      }
    } catch (e) {
      return print('ERROR: ==================> $e');
    }
  }
}

/// 获取火爆专区内容
/// 0-3 1
/// 4-7 2
/// 4*(formData-1) - 4*formData-1   formData
Future getHotGoodsContext(int dataType, int page) async{
  print('开始获取[火爆专区]数据.....#本地写死#');
  if(dataType == 1){
    var data = json.decode(hotGoods.toString());
    List<Map> newGoodsList = (data['data'] as List).cast();
    if(newGoodsList.length < 5){
      return newGoodsList.getRange(0, newGoodsList.length);
    }
    if(4*(page-1) >= newGoodsList.length){
      return null;
    }
    if(4*page < newGoodsList.length){
      return newGoodsList.getRange(4*(page-1), 4*page).toList();
    } else {
      return newGoodsList.getRange(4*(page-1), newGoodsList.length).toList();
    }
  } else {
    // 接口获取数据 不写了  反正没用
  }
}

/// 获取分类类别数据
///
Future getCategory(int dataType) async{
  print('开始获取[商品类别]数据.....#本地写死#');
  if(dataType == 1){
    return goodsCategory;
  } else {
    // 接口获取数据 但我不想获取 哈哈哈哈哈哈哈哈
  }

}